package com.ck.admin.base;

import java.util.List;
import java.util.Map;

import com.ck.admin.common.Result;

public interface BaseService<T> {

	/**
	 * 新建
	 * 
	 * @param record
	 * @return
	 */
	Result add(T record);

	/**
	 * 修改
	 * 
	 * @param record
	 * @return
	 */
	Result edit(T record);

	/**
	 * 删除
	 * 
	 * @param key
	 * @return
	 */
	Result delete(String key);

	/**
	 * 批量存储
	 * 
	 * @param data
	 * @return
	 */
	Result save(List<T> data);

	/**
	 * 根据key查询
	 * 
	 * @param key
	 * @return
	 */
	T findById(String key);

	/**
	 * 根据对象查询列表
	 * 
	 * @param record
	 * @return
	 */
	List<T> findList(T record);

	/**
	 * 根据对象分页查询
	 * 
	 * @param record
	 * @return
	 */
	Map<String, Object> findPage(T record);
	
	/**
	 * 参照
	 * @param record
	 * @return
	 */
	List<T> findLookUp(T record);
	
	/**
	 * 根据ids查询，格式1，2，3，
	 * @param ids
	 * @return
	 */
	List<T> findByIds(String ids);

}
